The present invention relates generally to the field of communications and, in particular, to a circuit and method for controlling virtual circuit connections in a ring network.
The telecommunications industry traditionally has provided services to subscribers over narrowband circuits. These narrowband circuits provided acceptable performance when the bulk of the demand for telecommunications services was predominantly for voice traffic. In recent years, additional telecommunications services have been developed that can use much higher bandwidth, e.g., internet access, video conferencing, corporate intranets. These xe2x80x9cbroadbandxe2x80x9d services are increasingly in demand. Unfortunately, the existing telecommunications networks are not designed to provide quality broadband services.
As the demand for access to telecommunications services increased, the industry used time division multiplexing technology to aggregate a number of lower bandwidth circuits onto higher bandwidth circuits. By the middle 1980""s, the SONET standard was well established as a time division multiplexing technology for fiber optic transport systems. However, as anyone who has attempted to download a large data file over the internet can attest, current broadband services do not operate well over the existing telecommunications infrastructure.
The telecommunications industry has been developing approaches that will allow better use of bandwidth in a broadband network. For example, Bellcore has provided standards for transmitting asynchronous transfer mode (ATM) packets over a SONET ring network. See, e.g., GR-2842 and GR-2837. These Bellcore standards are incorporated herein by reference. These standards allow for the transmission of data between endpoints in a ring network over virtual circuits. However, the standards do not provide for determining how to control the generation of connections in the ring network. Without adequate control of new connections, a system could experience significant problems with quality of services provided over the networks high demand periods.
For the reasons stated above, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for controlling the generation of virtual connections, e.g., ATM connections, in a ring network.
The above mentioned problems with broadband ring networks and other problems are addressed by the present invention and which will be understood by reading and studying the following specification. A method for controlling access to a broadband ring network is described which determines whether a virtual connection will be allowed based on the impact that the connection will have on each affected segment of the ring network.
In particular, an illustrative embodiment of the present invention includes a method for controlling virtual connections between endpoints over a unidirectional ring network. The network includes a number of network elements coupled together to form segments of the ring network. The method receives a request to create a virtual connection between first and second endpoints on the ring network. The method identifies the segments of the ring network that would be affected by the addition of the connection between the first and second endpoints. Further, the method retrieves data that represents the currently allocated capacity for each affected segment. For each affected segment, the method determines whether adding the requested virtual connection would exceed the capacity for the segment. The method transmits signals over the ring to establish the virtual connection when adding the virtual connection does not exceed the capacity for any of the affected segments. In one embodiment, the step of determining whether adding the requested virtual connection would exceed the capacity for the segment depends on the distribution of traffic from a traffic shaper. For segments that would transport data packets for the requested virtual connection, the method determines whether the segment has sufficient capacity for the bandwidth used by the connection and additional over-allocated bandwidth for a traffic shaper that provides the requested virtual connection to the ring network. For segments that would transport data packets from other virtual connections originating from the same traffic shaper but not the requested virtual connection, the method determines whether the segment has sufficient capacity for the additional over-allocated bandwidth. Finally, for segments that would transport data packets from the requested virtual connection but no other virtual connection of the traffic shaper, the method determines whether the segment has sufficient capacity for the requested connection and the over-allocated bandwidth for the traffic shaper.
In another embodiment, a method for allocating bandwidth for a virtual connection between endpoints over a number of network entities that form a ring is provided. The method includes receiving a request to create a virtual connection between first and second endpoints. The first endpoint is associated with a traffic shaper that provides data packets to the ring network in discrete bandwidth units. The method further includes identifying segments of the ring network that would be affected by the addition of the connection between the first and second endpoints. The method determines the over-allocated bandwidth for the traffic shaper with the addition of the requested virtual connection. Further, for each affected segment, the method determines whether sufficient bandwidth is available to accommodate the requested virtual connection and the over-allocated bandwidth. Finally, the method includes establishing the virtual circuit when it is determined that sufficient bandwidth is available on each affected segment.
In another embodiment, a method for determining the bandwidth used by a traffic shaper that controls access to a ring network for a number of endpoints of virtual connections is provided. The method includes determining a bandwidth requirement for each virtual connection that is related to the peak and sustained rates for delivery of data packets for the virtual connection. Further, the method sums the bandwidth requirement for each of the virtual connections. The method determines an integer value that represents the number of units of bandwidth deliverable by the traffic shaper that are required to at least accommodate the bandwidth requirement. The method multiplies the integer value by the bandwidth of a unit bandwidth to determine the delivering bandwidth of the traffic source. The method also stores the delivering bandwidth of the traffic shaper to be used in allocating bandwidth in a ring network.
In another embodiment, a communication network that transmits data over virtual connections between communication endpoints is provided. The network includes a number of network elements coupled together so as to form a ring with adjacent network elements communicating over ring segments. Each network element is operable to communicate data between the network and at least one endpoint. At least one network element includes a connection controller that determines whether adding a requested virtual connection would exceed the capacity for segments affected by the addition of the virtual connection.
In another embodiment, a circuit that determines whether to allow a virtual connection to be established over a ring of network elements wherein adjacent network elements are coupled together by ring segments is provided. The circuit includes a memory that stores instructions. Further, the circuit includes a processor that executes the instructions to determine, for each affected ring segment, whether adding the virtual connection would exceed the bandwidth capacity of a segment of the ring network.